class HiNetError implements Exception {
  final int code;
  final String message;
  final dynamic data;

  // {}括起来代表data是可选参数
  // 而code和message是必传的参数
  HiNetError(this.code, this.message, {this.data});

  @override
  String toString() {
    return code.toString() + message.toString();
  }
}

class NeedLogin extends HiNetError {
  // 创建NeedLogin实例时 code和message都可以不用传已经有默认值了
  NeedLogin({int code = 401, String message = '请重新登陆'}) : super(code, message);
}

class NeedAuth extends HiNetError {
  // 创建NeedAuth实例时 code不用传已经有默认值了 message必须传
  NeedAuth(String message, {int code = 403, dynamic data})
      : super(code, message, data: data);
}
